package com.itheima.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.itheima.bean.Setmeal;
import com.itheima.dto.SetmealDto;
import org.springframework.transaction.annotation.Transactional;

/**
 * @author Tang
 * @date 2023/1/7
 */
public interface SetmealService extends IService<Setmeal> {

    /**
     * 新增套餐
     * @param setmealDto
     */
    @Transactional
    void addSetmealWithDish(SetmealDto setmealDto);

    /**
     * 套餐分页查询
     * @param page
     * @param pageSize
     * @param name
     * @return
     */
    Page<SetmealDto> findPage(Integer page, Integer pageSize, String name);

    /**
     * 删除套餐并且删除关联的套餐菜品数据
     * @param ids
     */
    @Transactional
    void deleteWithSetmealDish(Long[] ids);

    SetmealDto getSetmealWithDishs(String id);

    /**
     * 修改套餐信息回显
     * @param id
     * @return
     */
    SetmealDto getWithSetmealDish(Long id);

    /**
     * 套餐修改保存
     * @param setmealDto
     */
    @Transactional
    void updateWithDish(SetmealDto setmealDto);
}
